home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / pascal / gpc1.1p2 / gpc1 / usr / src / gpc-1.1p2-2.6.3 / NOTES < prev    next >
Encoding:
Text File  |  1995-04-20  |  2.5 KB  |  60 lines

  1.  
  2.  
  3.         GPC -- Gnu Pascal Random Notes
  4.         ==============================
  5.  
  6.     See also the files GPC.GUIDE, README and PROBLEMS.
  7.  
  8.     - a bison parser for GPC
  9.       (the parser is a ISO 7185 standard pascal parser
  10.        with extensions (like casts, type of, address of vars,
  11.        inline, return, break, continue, otherwise and so on...)
  12.  
  13.         - code (glue) that can be used to convert the Pascal way of
  14.       defining things to use routines in a modified c-decl.c.
  15.       This mainly does re-ordering of the data structures. The glue
  16.       lives in gpc-parser.y or in gpc-util.c.
  17.  
  18.     - VAR parameters for Pascal routines
  19.       Now done with REFERENCE_TYPE. Until the REFERENCE_TYPE is
  20.       implemented as in C++, I just get rid of this type as soon
  21.       as possible by converting it to POINTER_TYPE in as few places
  22.       as possible. Currently affects gpc-parse.y, actualparameterlist()
  23.       and default_conversion().
  24.  
  25.     - redeclaration of standard identifiers (NOT reserved words)
  26.       This requires a change in tree.def sometime in the future;
  27.       currently I am mis-using Tiemann's FRIEND_DECL TREECODE
  28.       which looks exactly like my KNOWNID_DECL would look like.
  29.       So maybe there is no need to add it at all for Pascal.
  30.  
  31.     - run time system & routines that generate calls to the rts.
  32.       The old one Antti Louko & I originally wrote back in -85
  33.       when I ported another Pascal compiler (Pax) to BSD Vax.
  34.       Pax compiler is written in Pascal, and it runs on Twenex
  35.       and Unix. (Very good error reporting capabilities.)
  36.       More info on request.
  37.  
  38.     - WITH statement should work properly. No information of
  39.       WITH is currently given to the debugger.
  40.  
  41.     - variant records
  42.       These should work. Added routine find_field() that returns a
  43.       chain of TREE_LIST nodes and modified build_component_ref() to
  44.       work as follows: When gpc-parse.y builds a variant record, it
  45.       constructs an unnamed RECORD_TYPE containing the possible variant
  46.       selector field and an unnamed UNION_TYPE node. When find_field()
  47.       sees unnamed RECORD_TYPE or UNION_TYPE nodes implicitely
  48.       propagates to the inner layer of the definition. It then returns
  49.       the TREE_LIST chain of this propagation and this is modified to a
  50.       series of build(COMPONENT_REF,...) for all propagated RECORD_TYPE
  51.       nodes, which the rest of gcc will handle. This does NOT YET check
  52.       variant access errors...  When thinking about it, it does not
  53.       check very many other things either, so maybe no one will notice
  54.       this :-)
  55.  
  56.     - Arrays with non-zero lower bound
  57.       Required some changes to expr.c.
  58.  
  59.     See the file PROBLEMS first for additional bugs.
  60.